package org.example.javase.modifier;

import java.util.Random;

/**
 * @ClassName CompileAndRunTest1
 * @Description
 * 1. a被作为编译期全局常量，并不依赖于类，而b作为运行期的全局常量，其值还是依赖于类的。
 * 2. 编译时常量在编译时就可以确定值，上例中的a可以确定值，但是b在编译期是不可能确定值的。
 * 3. 由于编译时常量不依赖于类，所以对编译时常量的访问不会引发类的初始化。
 * @Author LB
 * @Date 2021/5/14 11:29
 * @Version 1.0
 **/
public class CompileAndRunTest1 {

    public static void main(String[] args) {
        System.out.println(CompileAndRunTest.a);
        System.out.println(CompileAndRunTest.b);
        // ------输出结果-------
        //编译时常量
        //CompileAndRunTest 类初始化加载
        //java.util.Random@677327b6
    }
}


class CompileAndRunTest {

    public static final String a="编译时常量";
    public static final String b=new Random().toString();

    static {
        System.out.println("CompileAndRunTest 类初始化加载");
    }


}